﻿//#define _CRT_SECURE_NO_WARNINGS  1
////一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
////一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
//#include<string>
//#include<iostream>
//using namespace std;
//class person {
//public:
//	int _age;
//	string _name;
//public:
//	//默认构造
//	person()
//	{
//		cout << "person  默认构造函数" << endl;
//	}
//	//有参构造函数
//	person(int p)
//	{
//		cout << "person  有参构造函数" << endl;
//		_age = p;
//	}
//	//拷贝构造
//	person(const person& p)
//	{
//		cout << "person  拷贝构造函数" << endl;
//		_age = p._age;
//		_name = p._name;
//	}
//	~person()
//	{
//		cout << "person  析构函数" << endl;
//
//	}
//	
//};
////1.使用一个已经创建完毕的对象来初始化一个对象
////void test1()
////{
////	person p1(100);
////	person p2(p1);
////	cout << "p2的年龄为：" << p2._age << endl;
////
////}
////2.值传递的方式给函数参数传值
////void  work(person p2)
////{
////
////}
////void test2()
////{
////	person p2(10);
////	work(p2);
////}
////3.值方式返回局部变量
//person doWork()
//{
//	person p2;
//	person p3;
//	cout << (int*)&p3 << endl;
//	return p3;
//}
//void test3()
//{
//	person p4 = doWork();
//	cout << (int*)&p4 << endl;
//}
//int main()
//{
//	//test1();
//	//test2();
//	test3();
//	return 0;
//}